package com.ympc.service;

import com.ympc.pojo.CourseVO;
import com.ympc.pojo.Student;

import java.util.List;

public interface StudentService {
    // 查询所有学生
    List<Student> getAllStudents();
    
    // 根据id查询学生
    Student getStudentById(Integer id);
    
    // 根据学号查询学生
    Student getStudentByNumber(String studentNumber);
    
    // 根据userId查询学生
    Student getStudentByUserId(Integer userId);
    
    // 根据班级查询学生（模糊查询）
    List<Student> getStudentsByClass(String className);
    
    // 根据学号查询学生（模糊查询）
    List<Student> getStudentsByStudentNumber(String studentNumber);
    
    // 根据班级和学号查询学生（模糊查询）
    List<Student> getStudentsByClassAndStudentNumber(String className, String studentNumber);
    
    // 添加学生（自动创建登录账号）
    boolean addStudent(Student student);
    
    // 更新学生信息
    boolean updateStudent(Student student);
    
    // 删除学生
    boolean deleteStudent(Integer id);
    
    // 修改密码
    boolean changePassword(Integer userId, String oldPassword, String newPassword);
    
    // 根据学生ID获取该学生的课程列表
    List<CourseVO> getCoursesByStudentId(Integer studentId);
    
    // 根据学生userId获取该学生的课程列表
    List<CourseVO> getCoursesByStudentUserId(Integer userId);
}

